/**
 * Copyright &copy; 2015-2020 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
 */
package com.jeeplus.modules.property.chargeinfo.entity;

import com.jeeplus.modules.property.subinfo.entity.PropertyHouseinfo;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.jeeplus.modules.property.subinfo.entity.PropertyCarinfo;

import com.jeeplus.core.persistence.DataEntity;
import com.jeeplus.common.utils.excel.annotation.ExcelField;

/**
 * 收费信息Entity
 * @author 陈龙
 * @version 2019-01-10
 */
public class PropertyChargeinfo extends DataEntity<PropertyChargeinfo> {
	
	private static final long serialVersionUID = 1L;
	private PropertyHouseinfo houseid;		// 房屋信息
	private String chargeitem;		// 收费项目
	private String chargestandard;		// 收费标准
	private Date begindate;		// 计费开始日期
	private Date enddate;		// 计费结束日期
	private Date paydate;		// 付费日期
	private String paytype;		// 付费方式
	private Double mustpay;		// 应收金额
	private Double alreadypay;		// 实收金额
	private String paystatus;		// 缴费状态
	private PropertyCarinfo carinfo;		// 车位信息
	private Date beginPaydate;		// 开始 付费日期
	private Date endPaydate;		// 结束 付费日期
	
	public PropertyChargeinfo() {
		super();
	}

	public PropertyChargeinfo(String id){
		super(id);
	}

	@ExcelField(title="房屋信息", fieldType=PropertyHouseinfo.class, value="houseid.room", align=2, sort=7)
	public PropertyHouseinfo getHouseid() {
		return houseid;
	}

	public void setHouseid(PropertyHouseinfo houseid) {
		this.houseid = houseid;
	}
	
	@ExcelField(title="收费项目", dictType="chargeitem", align=2, sort=8)
	public String getChargeitem() {
		return chargeitem;
	}

	public void setChargeitem(String chargeitem) {
		this.chargeitem = chargeitem;
	}
	
	@ExcelField(title="收费标准", dictType="chargestandard", align=2, sort=9)
	public String getChargestandard() {
		return chargestandard;
	}

	public void setChargestandard(String chargestandard) {
		this.chargestandard = chargestandard;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@ExcelField(title="计费开始日期", align=2, sort=10)
	public Date getBegindate() {
		return begindate;
	}

	public void setBegindate(Date begindate) {
		this.begindate = begindate;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@ExcelField(title="计费结束日期", align=2, sort=11)
	public Date getEnddate() {
		return enddate;
	}

	public void setEnddate(Date enddate) {
		this.enddate = enddate;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@ExcelField(title="付费日期", align=2, sort=12)
	public Date getPaydate() {
		return paydate;
	}

	public void setPaydate(Date paydate) {
		this.paydate = paydate;
	}
	
	@ExcelField(title="付费方式", dictType="paytype", align=2, sort=13)
	public String getPaytype() {
		return paytype;
	}

	public void setPaytype(String paytype) {
		this.paytype = paytype;
	}
	
	@ExcelField(title="应收金额", align=2, sort=14)
	public Double getMustpay() {
		return mustpay;
	}

	public void setMustpay(Double mustpay) {
		this.mustpay = mustpay;
	}
	
	@ExcelField(title="实收金额", align=2, sort=15)
	public Double getAlreadypay() {
		return alreadypay;
	}

	public void setAlreadypay(Double alreadypay) {
		this.alreadypay = alreadypay;
	}
	
	@ExcelField(title="缴费状态", dictType="paystatus", align=2, sort=16)
	public String getPaystatus() {
		return paystatus;
	}

	public void setPaystatus(String paystatus) {
		this.paystatus = paystatus;
	}
	
	@ExcelField(title="车位信息", fieldType=PropertyCarinfo.class, value="carinfo.carno", align=2, sort=17)
	public PropertyCarinfo getCarinfo() {
		return carinfo;
	}

	public void setCarinfo(PropertyCarinfo carinfo) {
		this.carinfo = carinfo;
	}
	
	public Date getBeginPaydate() {
		return beginPaydate;
	}

	public void setBeginPaydate(Date beginPaydate) {
		this.beginPaydate = beginPaydate;
	}
	
	public Date getEndPaydate() {
		return endPaydate;
	}

	public void setEndPaydate(Date endPaydate) {
		this.endPaydate = endPaydate;
	}
		
}